package com.smyh.util;


import org.apache.mina.core.buffer.IoBuffer;

public class AddCrc {

	/*
	 * crc验证 字节累加生成验证码
	 * 
	 * @return
	 */

	public static byte getCrc(byte[] rootByte) {
		byte crcCode = 0x00;
		for (int i = 0; i < rootByte.length; i++) {
			crcCode += rootByte[i];
		}
		return crcCode;
	}
	
	/*
	 * crc验证 字节累加生成验证码
	 * @author muchun
	 * @param start,end 集合下标
	 * @return
	*/

	public static byte getCrc(byte[] rootByte,int start,int end) {
		byte crcCode = 0x00;
		for (int i = start; i <= end; i++) {
			crcCode += rootByte[i];
		}
		return crcCode;
	}

	/*
	 * 功能：
	 * 作者：zhuchunsheng
	 * 参数：@param bf
	 * 参数：@param start 数据开始下标
	 * 参数：@param end 数据验证结束下标
	 * 参数：@return
	 * 返回值：byte
	 * 日期时间：2013-7-15 上午10:27:13
	 * */


	public static byte getCrc(IoBuffer bf, int start, int end){
		
		byte crcCode = 0x00;
		for (int i = start; i <= end; i++) {
			crcCode += bf.get(i);
		}
		return crcCode;
	}
	
	/*
	 * 功能：buffer crc校验
	 * 作者：zhuchunsheng
	 * 参数：@param bf
	 * 参数：@return
	 * 返回值：byte
	 * 日期时间：2013-7-15 下午2:37:31
	 * */


	public static byte getCrc(IoBuffer bf){
		
		byte crcCode = 0x00;
		for (int i = 0; i < bf.limit(); i++) {
			crcCode += bf.get(i);
		}
		return crcCode;
	}
}
